using System;
using System.ComponentModel.Design;

namespace Microsoft.WowAddonStudio.FrameXml.Components.Services
{
	/// <summary>
	/// Specifies FrameXml undo/redo functionality at design time.
	/// </summary>
	public class FrameXmlUndoEngine : UndoEngine
	{
		/// <summary>
		/// Initializes a new instance of the <see cref="FrameXmlUndoEngine"/> class.
		/// </summary>
		/// <param name="provider">A parenting service provider.</param>
		/// <exception cref="T:System.ArgumentNullException">
		/// 	<paramref name="provider"/> is null.</exception>
		/// <exception cref="T:System.NotSupportedException">A required service cannot be found. See <see cref="T:System.ComponentModel.Design.UndoEngine"/> for required services. If you have removed this service, ensure that you provide a replacement.</exception>
		public FrameXmlUndoEngine(IServiceProvider provider) : base(provider)
		{
			if (provider == null)
				throw new ArgumentNullException("provider");

		}

		/// <summary>
		/// Adds an <see cref="T:System.ComponentModel.Design.UndoEngine.UndoUnit"/> to the undo stack.
		/// </summary>
		/// <param name="unit">The undo unit to add</param>
		protected override void AddUndoUnit(UndoUnit unit)
		{
			throw new NotImplementedException();
		}

	}
}